// 配置 ajax 的基础路径
axios.defaults.baseURL = "http://api-breakingnews-web.itheima.net";

// 请求拦截器
axios.interceptors.request.use(function(config) {
    // console.log(config);
    // 给 /my/ 开头的请求添加身份认证信息
    // 判断:只要包含/my/ 就添加 token
    // indexOf() 从字符串中从开始向结束查找, 对应值的索引号,找不到返回-1
    // if (config.url.indexOf("/my/")>=0) {
    // if (config.url.indexOf("/my/")>-1) {
    // includes() 检测字符串中是否包含相应的字符
    if (config.url.includes("/my/")) {
        config.headers.Authorization = localStorage.getItem("token")
    }
    // 必须返回 config
    return config;
}, function(error) {
    // 请求出错执行的代码
    return Promise.reject(error)
})

// 登录拦截
axios.interceptors.response.use(function(response) {
    // 处理响应内容
    let obj = response.data;
    // console.log(obj);
    // 如果身份认证失败,就跳转到登录页面
    if (obj.message === "身份认证失败！") {
        // 页面跳转
        location.href = "/login.html";
        // 删除无效token
        localStorage.removeItem("token");
    }
    // 返回响应对象
    return response;
}, function(error) {
    // 请求出错执行的代码
    return Promise.reject(error)
})

// 格式化日期
function dataFormat(str) {
    let dt = new Date(str);
    let yy = dt.getFullYear();
    let mm = padZero(dt.getMonth() + 1);
    let dd = padZero(dt.getDate());

    let h = padZero(dt.getHours());
    let m = padZero(dt.getMinutes());
    let s = padZero(dt.getSeconds());

    return `${yy}-${mm}-${dd} ${h}:${m}:${s}`
}

function padZero(n) {

    return n < 10 ? "0" + n : n
}